In recent years, smart phones, tablet Personal Computers (PCs), and portable electronic devices have come into wide use, and related technologies have also been developed. Accordingly, workers who are with an enterprise frequently enter and exit places of business while carrying a smart phone or a tablet PC. Due to this, the enterprise establishes various security policies to solve security problems such as leaking of information through the smart phone or the tablet PC, and studies a solution or a service in order to implement the established security policies. A Mobile Device Management (MDM) solution restricts permission of an application stored in a smart phone or a table PC, as a solution for implementation of a security policy.
According to various embodiments, an Android platform may set permission when providing an Application Programming Interface (API) to an application. For example, when a new application is installed, the application may request an API for a camera function or an API for a Bluetooth function from the Android platform.
Meanwhile, an enterprise using the MDM solution may establish a security policy for restricting a specific function, for example, a camera function.
The Android platform uses four protection levels, i.e., a “normal” protection level, a “dangerous” protection level, a “signature” protection level, and a “signatureOrSystem” protection level, when providing an API. In order for an application to acquire permission for usage of a specific API or function in the “signature” protection level, a certificate of an application declaring the permission should coincide with a certificate of an application defining the corresponding permission. When the certificate of the application declaring the permission coincides with the certificate of the application defining the corresponding permission, all permission that the application requests may be automatically granted from the Android platform. The granted permission is preserved until the application is deleted, in which case there is a problem in that the granting method is somewhat static. Namely, it is difficult to flexibly change the granted permission. Accordingly, the granted permission may not be changed even if a contract with a terminal manufacturing company is terminated or a range of the contract is varied after a third party solution acquires all necessary permission.
Further, the MDM solution according to the related art may have the following two security problems when a specific application uses the same signature as a platform.
1. The application signed with a certificate of the platform may have permission equivalent to that of an application previously loaded in a system. Accordingly, restriction on some permission, defined not to be generally used in Android, in addition to APIs for the MDM solution may be fragile.
2. In a case where the corresponding application is recognized as a part of the system and a Shared User Mentifier (UID) is additionally defined, the corresponding application may acquire permission for controlling files of a system area that the system protects from access of a general application or a user.